package com.hyt.it.ogt.data.model.entity.pj;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hyt.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 评卷任务表
 * </p>
 *
 * @author qiaozj
 * @since 2020-07-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("pj_task")
@ApiModel(value="Task对象", description="评卷任务表")
public class Task extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "考试任务id")
    private String projectId;

    @ApiModelProperty(value = "科目编号")
    private String subjectId;

    @ApiModelProperty(value = "评卷块id")
    private String pieceId;

    @ApiModelProperty(value = "密号")
    private String encodeId;

    @ApiModelProperty(value = "准考证号")
    private String admissionNum;

    @ApiModelProperty(value = "任务类型:0:教师任务")
    private Integer taskType;

    @ApiModelProperty(value = "评卷阶段")
    private String stage;

    @ApiModelProperty(value = "读取账号")
    private String loadby;

    @ApiModelProperty(value = "结果状态:0初始1:被获取2:已给分")
    private Integer status;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "评卷状态：0：未评 1：平均中 2：已评")
    private Integer markStatus;

    /**
     * ---v2.3.11新增考点考场信息
     */

    @ApiModelProperty(value = "批次id")
    private String batchId;

    @ApiModelProperty(value = "批次名称")
    private String batchName;

    @ApiModelProperty(value = "考点id")
    private String placeId;

    @ApiModelProperty(value = "考点名称")
    private String placeName;

    @ApiModelProperty(value = "考场id")
    private String roomId;

    @ApiModelProperty(value = "考场名称")
    private String roomName;

    @ApiModelProperty(value = "座位号")
    private String seatNo;

    @ApiModelProperty(value = "是否缺席（0：正常 1：缺席）")
    private Integer absent;

    @ApiModelProperty(value = "开始时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date examStartTime;

    @ApiModelProperty(value = "结束时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date examEndTime;

    @ApiModelProperty(value = "答题时长")
    private BigDecimal answerTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "试卷id")
    private String paperId;

    @TableField(exist = false)
    @ApiModelProperty(value = "0：未开始 1：已完成，2：评卷中")
    private Integer finish;

}
